﻿using UnityEngine;
using UnityEngine.UI;

public class 每秒传输帧数 : MonoBehaviour
{
    float 更新帧率时间间隔 = 1f;//设定更新帧率的时间间隔为1秒  
    float 累积时间 = .0f;//累积时间  
    int 帧数 = 0;//在_updateInterval时间内运行了多少帧  
    float 开始时间;
    string 格式化的帧率;

    public Text 显示帧率文本框;

    void Start()
    {
        开始时间 = 更新帧率时间间隔;
    }

    void OnGUI()
    {
        显示帧率文本框.text = 格式化的帧率;
    }

    void Update()
    {
        开始时间 -= Time.deltaTime;
        //Time.timeScale可以控制Update 和LateUpdate 的执行速度,  
        //Time.deltaTime是以秒计算，完成最后一帧的时间  
        //相除即可得到相应的一帧所用的时间  
        累积时间 += Time.timeScale / Time.deltaTime;
        ++帧数;//帧数  

        if (开始时间 <= 0)
        {
            float 帧率 = 累积时间 / 帧数;
            //Debug.Log(_accum + "__" + _frames);  
            格式化的帧率 = string.Format("{0:F0}", 帧率);//保留两位小数  
            // Debug.LogError(格式化的帧率);

            开始时间 = 更新帧率时间间隔;
            累积时间 = .0f;
            帧数 = 0;
        }
    }
}
